[2024年7月17日号]個人的に気になったModern Data Stack情報まとめ
さがらです。
Modern Data Stack関連のコンサルタントをしている私ですが、Modern Data Stack界隈は日々多くの情報が発信されております。
そんな多くの情報が発信されている中、この2週間ほどの間で私が気になったModern Data Stack関連の情報を本記事でまとめてみます。
※注意事項:記述している製品のすべての最新情報を網羅しているわけではありません。私の独断と偏見で気になった情報のみ記載しております。
Modern Data Stack全般
DataOps Night #4 データプロダクト/分析基盤開発の舞台裏
ナウキャスト社の主催で、「DataOps Night #4 データプロダクト/分析基盤開発の舞台裏」というイベントが2024年7月10日に行われました。
各登壇者の資料も公開されています。Snowflakeのリソース管理方法、dbtのリポジトリ構成、仮名加工情報、Data Ingestion/ETLの技術選定、とそれぞれに踏み込んだ内容がまとめられているため、参考になる方も多いと思います。
Notionのデータ基盤のアーキテクチャについて
Notion社より、FivetranとSnowflakeのアーキテクチャでスケールすることが難しかったNotionのブロックデータを処理する基盤について、Debezium CDC・Apache Kafka・Apache Hudi・Sparkを軸としたデータレイクのアーキテクチャに移行したという、その変遷をまとめた記事が出ていました。
記事中ではより詳細な技術選定の理由が述べられていますが、「FivetranとSnowflakeを完全に置き換えたわけではなく別のワークロードに活用している」ということも言及がありました。各ワークロードに併せて最適な製品を使うのが大事ですね。
Data Extract/Load
Omnata
外部データソースとのデータ連携を容易に実現するNative Apps「Omnata」
OmnataはSnowflake Native Appsとして提供されており、StreamlitやSnowflakeのUDFやストアドプロシージャを中心に構成された、外部データソースのデータロードとReverse ETLを実現する製品となっています。
私の記事で恐縮ですが、Snowflake Marketplaceを介してインストールができるNative Appsである「Omnata」を試してみました。こちらの記事ではGoogleスプレッドシートのデータロード及びReverse ETLを行っています。
Data Warehouse/Data Lakehouse
Snowflake
Snowflake Connector for PostgreSQLとSnowflake Connector for MySQLがプレビュー
Snowflakeに対してPostgreSQLとMySQLのデータを直接ロードできる新しいコネクタとして、Snowflake Connector for PostgreSQLとSnowflake Connector for MySQLがプレビューとなりました。
手早く試すための、チュートリアルも公開されています。
より実運用を考慮した設定手順はこちらのドキュメントを見ることをおすすめします。
Snowflakeの公式アカウントでMFAを強制する機能がリリース
Snowflakeの新機能として、MFAを強制する機能がリリースされました。具体的には以下の機能がリリースされています。
- SnowflakeアカウントのすべてのユーザーにMFAを要求する新しいauthentication policy
- ユーザーレベルのMFA設定を求めるSnowsight
- MFAポリシーの遵守を監視するための Snowflake Trust Centerの一般提供
また、下記の記事からの引用ですが、セキュリティに関するベストプラクティスについても言及がありました。
- 外部サービスと連携用のユーザーには、パスワードではなくキーペア認証または外部 OAuthで認証させること
- アカウントレベルでauthentication policyを設定し、MFAを要求させること。外部サービスとの連携用のユーザーを除外するには、必ずユーザーレベルのポリシーを設定すること
- password policyを有効にし、
PASSWORD_MIN_LENGTH
を14
に、PASSWORD_MAX_AGE_DAYS
を1年未満に設定すること - network rulesを使用してnetwork policyを有効にすること
- Trust Centerを活用してMFAの使用状況を監視し、network policyの構成を確認すること
Snowflake Copilotが一般提供
Snowflake Copilotが一般提供となりました。デモ動画も載った公式ブログも投稿されています。
ただ、2024年7月17日時点で使用できるのは下記のリージョンだけですので、注意が必要です…
- AWS us-east-1
- AWS us-west-2
- AWS eu-central-1
terraform-provider-snowflakeのver0.93.0のリリース
SnowflakeのリソースをTerraformで管理する際に必要となるterraform-provider-snowflakeについて、ver0.93.0がリリースされました。
移行ガイドも併せて更新されています。今回は多くのリソースが追加されているため、移行ガイドもボリュームがあります…
SnowflakeにCOPY INTOでバルクロードする際のポイント
@irotorisさんにより、SnowflakeのCOPY INTOコマンドを使ってロードする際に押さえておくべきポイントをまとめた記事が出ていました。
ファイル形式、ウェアハウスのサイズ、過去データの一括ロード時の課金に関する注意、Snowflakeの3種類のクラスタリング、VARIANT型としてロードするときはプルーニングが効くように対象のデータを別のカラムにしておく、といったことがまとめられています。COPY INTOはSnowflakeを使う全ユーザーが使用する機能といっても過言ではないため、ぜひご覧ください。
BigQuery
GA4のエクスポートデータのスキーマが変更
私も@S4RngeNhBvAlC9fさんの投稿で知ったのですが、GA4のエクスポートデータのスキーマが変更となったようです。(まだ2024年7月17日時点では情報の公開もないようです…)
またこちらの内容に関連する記事として、syou6162さんがシャーディングテーブルに対するクエリ発行時のハマりどころをまとめた記事を出していました。events_YYYYMMDD
とevents_intraday_YYYYMMDD
という2種類のシャーディングが存在する方は多いと思いますので、ぜひご覧ください。
MotherDuck/DuckDB
DuckDBのメモリ管理に関する記事
DuckDBのブログにおいて、DuckDBでクエリを処理する際にどのようにメモリを管理しているかをまとめた記事が出ていました。
DuckDBはローカル環境で実行することが多い関係上、メモリ管理が重要になってきます。この記事ではDuckDBで使用するメモリや一時的なディレクトリのサイズを制限する方法や使用したメモリのプロファイリングの方法について言及されているため、参考になる面も多いと思います。
Data Transform
dbt
dbt Semantic Layerに関するユースケース・移行のステップをまとめた記事
dbt Labs社の公式ブログにおいて、dbt Semantic Layerに関するユースケースと移行のステップをまとめた記事が出ていました。
特に2つ目の移行のステップをまとめた記事は、元々dbtで開発を行っていたときにどういったモデルを対象にdbt Semantic Layerに移行していけばよいかなどが言及されており、参考になるところも多いと思います。
SDF
公式HPが刷新されPricingのページも更新
SDFは先日Public Beta版のリリースを発表していましたが、今回公式HPも刷新し、Pricingページも更新されていました。
具体的な価格も記載されているため、費用感を掴むのにはちょうどよいと思います。
Business Intelligence
Looker
24.12のリリースノートが公開
Lookerの最新バージョンである24.12のリリースノートが公開されました。
細かなUIや機能周りのアップデートが多い印象ですね。
Steep
Steep上で自然言語でやり取りしながらグラフを構築できる「AI Chart Builder」を発表
Steepが新機能として、Steep上で自然言語でやり取りしながらグラフを構築できる「AI Chart Builder」という機能を発表しました。
こちらの機能については私も試してみました。Steepは事前にMetricsを定義することやdbt Semantic Layerなどの製品と連携しておくことが必要の製品のため、「Semantic Layerで定義を行った内容に対して、生成AIを使ってグラフの作成」が出来ました。
Data Catalog
Secoda
dbtへのメタデータのPush機能を発表
Secodaの新機能として、Secodaで定義したメタデータをdbtにPushできる機能を発表しました。
Secodaで定義されたdescription、owner、tagをdbtに書き戻すことが出来るようです。私が知る限りでこの機能をリリースしているのは、CastorDoc、Select Starに次いで3社目だと思います。
Select Star
Lineage Explorer 2.0など新機能をリリース
Select Starが、Lineage Explorer 2.0、Slack AI、通知、に関するリリースを行いました。
Lineage Explorer 2.0によって、Select Starのリネージが更に見やすく操作性も向上していそうです!
Data Orchestration
Orchestra
Version Control機能をリリース
Orchestraの新機能として、データパイプラインのバージョン管理を行う機能をリリースしました。
OrchestraはGUIベースの製品ですが、定義した情報は.ymlファイルで保持しているためバージョン管理が行うことが可能となっています。
本機能のリリースに併せて、OrchestraのCEOもブログを投稿しています。
誰でも使用できるデモ環境が公開
これはいつから公開されていたか私も厳密に把握していないのですが、自由にOrchestraの画面上で操作を行えるデモ環境が公開されていました。
OrchestraのUIの雰囲気を掴むにはちょうどよいと思います。より気になった方は無料版もありますので、そちらもぜひお試しください。